/* ******************************************验证方法包**************************** */
/*
	表单验证				$(el).verificationForm({verify:{},cb:function(){}})
	获取短信验证码		$(el).verificationSMS(inputId,callback)
	iosSelect单项选择	$(el).radio({title:'',data:'',cb:function(){}})
	清空输入框			$(el).clearInput();
	toast 提示			toast();
	判断非空				isEmpty();
*/
(function($){
	/*方法说明
		@param  
		{ 
			verify:{  // 验证规则
				phone:[{
					type:'required',
					msg:'请输入手机号码'
				},{
					type:'RegExp',
					rule: /^1[34578]\d{9}$/,
					msg:'请输入正确的手机号码'
				}]
			},
			cb:function(){
				// 回调函数
			}
		}
	*/
	$.fn.extend({
		verificationForm:function(obj){
			obj = obj || {};
	    	var config = {
	    		verify:{
	    			phone:[{
	    				type:'required',
	    				msg:'请输入手机号码'
	    			},{
	    				type:'RegExp',
	    				rule: /^1[34578]\d{9}$/,
	    				msg:'请输入正确的手机号码'
	    			}],
	    		}
	    	}
	    	config = Object.assign(config,obj);

	    	$(this).click(function(){
	    		for(var item in config.verify){
	    			for(var j = 0; j < config.verify[item].length; j++){
	    				var ele = config.verify[item][j];
	    				var val = $('#' + item).val()
	    				if(ele.type === 'required'){
			    			if(isEmpty(val)){
								toast(ele.msg)
								return false;
							}
	    				} else if(ele.type === 'RegExp'){
	    					console.log(!ele.rule.test(val))
	    					if(!ele.rule.test(val)){
	    						toast(ele.msg);
	    						return false;
	    					}
	    					
	    				}
	    			}
	    			// console.log(config.verify[item]);
	    		};
	    		obj.cb && obj.cb();
	    	});
	    	return this;
		},
		verificationSMS:function(input,cb){
			input = input || 'phone';
	    	$(this).click(function(){
	    		var phone = $("#" + input).val();
	    		var _this = $(this);
		        if(isEmpty(phone)){
		            toast("请输入手机号码");
		        }else if(!isPhoneNo(phone)){
		        	toast("请输入正确手机号码");
		        }else{
		            var timer__index = 60;
		           _this.text(timer__index+"s后重新获取").attr('disabled',true);
		            var timer = setInterval(function(){
		                timer__index--;
		                _this.text(timer__index+"s后重新获取");
		                if(timer__index <= 0){
		                    clearInterval(timer);
		                    _this.text("获取验证码").attr('disabled',false);
		                }
		            }, 1000);
		            cb && cb();
		        }

	    	})
		},
		radio:function(obj){
			var showDom = $(this);// 绑定一个触发元素
			showDom.on('click', function () {  // 添加监听事件
			    var val = showDom.data('id');             // 获取元素的data-id属性值
			    var title = showDom.data('value');        // 获取元素的data-value属性值
				// 实例化组件
			    var example = new IosSelect(1,               // 第一个参数为级联层级，演示为1
			        [obj.data],                             // 演示数据
			        {
			            container: '.container',             // 容器class
			            title: obj.title,                    // 标题
			            itemHeight: 40,                      // 每个元素的高度
			            itemShowCount: 5,                    // 每一列显示元素个数，超出将隐藏
			            oneLevelId: val,                     // 第一级默认值
			            callback: function (selectOneObj) {  // 用户确认选择后的回调函数
			                showDom.val(selectOneObj.value);
			                showDom.data('id',selectOneObj.id);
			                showDom.data('value',selectOneObj.value);
			                obj.cb && obj.cb(selectOneObj);
			            }
			    });
			});
		},
		clearInput:function(){
			$(this).each(function(){
		    	var _this = $(this);
		    	var input = $(this).parent().find('input');
		    	_this.click(function() {
		    		input.val('');
		    		_this.hide();
		    	});
		    	input.keyup(function() {
		    		if($(this).val().length <= 0 ){
		    			_this.hide();
		    		} else {
		    			_this.show();
		    		}
		    	});
		    });
		    return this;
		}
	});
	//判断字符是否为空的方法
	function isEmpty(obj) {
	    if (typeof obj == "undefined" || obj == null || obj == "") {
	        return true;
	    } else {
	        return false;
	    }
	}
	//toast提示
	function toast(mes){
	    if($(".toastItem").length == 0) {
	        $('body').append('<div class="toastItem" style="display: none;"><div class="toastTip"><span></span></div></div>');
	    }
	    $(".toastItem").fadeIn().find("span").html(mes);
	    setTimeout(function(){
	        $(".toastItem").fadeOut();
	    },2000);
	}
	// 验证手机号
	function isPhoneNo(phone) { 
		var pattern = /^1[34578]\d{9}$/; 
		return pattern.test(phone); 
	}
})(jQuery)